package edu.gdkm.dao;

import java.util.List;

public interface Student_InfoDAO {
    /**
     * 插入学生信息
     * @param
     * @return 影响的行数
     */
    int insert(Student_InfoDAO Student_infoDAO);

    /**
     * 根据ID删除学生信息
     * @param id 学生信息ID
     * @return 影响的行数
     */
    int deleteById(Long id);

    /**
     * 更新学生信息
     * 学生信息对象
     * @return 影响的行数
     */
    int update(Student_InfoDAO Student_infoDAO);

    /**
     * 根据ID查询学生信息
     * @param id 学生信息ID
     * @return 学生信息对象
     */
    Student_InfoDAO selectById(Long id);

    /**
     * 查询所有学生信息
     * @return 学生信息列表
     */
    List<Student_InfoDAO> selectAll();

    /**
     * 根据用户ID查询学生信息
     * @param userId 用户ID
     * @return 学生信息对象
     */
    Student_InfoDAO selectByUserId(Long userId);

    /**
     * 根据真实姓名查询学生信息
     * @param realName 真实姓名
     * @return 学生信息列表
     */
    List<Student_InfoDAO> selectByRealName(String realName);

    /**
     * 根据学校查询学生信息
     * @param university 学校
     * @return 学生信息列表
     */
    List<Student_InfoDAO> selectByUniversity(String university);

    /**
     * 根据专业查询学生信息
     * @param major 专业
     * @return 学生信息列表
     */
    List<Student_InfoDAO> selectByMajor(String major);
}

